The present invention relates to the development of Java 2 Platform, Enterprise Edition (J2EE) applications. In particular, the present invention relates to a method for creating a software factory for developing one or more J2EE applications.
Presently, most J2EE applications are developed from scratch by one or more application developers. Some techniques, such as design patterns and code generation tools, enable the application developers to develop the J2EE applications based on a set of defined relationships and interactions between classes and objects. Thus, these techniques enable reuse of predefined frameworks and components to generate layers of the J2EE applications, such as a user interface layer or a persistence layer. However, development of the J2EE applications using these techniques may consume a considerable amount of time. Further, these techniques present a lack of flexibility to the application developers in terms of generation and presentation of the layers of the J2EE applications. In other words, the J2EE application layers are generated according to a specified pattern and subsequently need to be customized by the application developers. For example, some techniques enable generation of code stubs while the implementation details need to be coded by the application developers to generate the user interface layer of the J2EE applications.
In light of the discussion above, there is a need for a software factory for developing J2EE applications. Further, there is a need to enable integration and reuse of all artifacts involved in the development of the J2EE applications through the use of component repositories. Also, there is a need to develop one or more user interfaces of the J2EE applications by using reusable repositories of web artifacts such as user interface components, layouts, and themes. In addition, there is a need to automate generation of a persistence layer for the J2EE applications by using predefined templates for creating one or more artifacts to generate the persistence layer.